
//使用顺序结构创建二叉树(使用数组模拟完全二叉树的顺序结构)

import java.util.Scanner;

public class BinaryTreeSequential {
    private static final int MAX_NODES = 100;  //二叉树顺序储存结构所能容纳的最大节点数为100

    public static int[] createBinaryTreeSequential(){
        Scanner sc = new Scanner(System.in);  //创建一个Sc对象用于接收用户从控制台的输入
        System.out.println("请输入二叉树节点个数: ");
        int n = sc.nextInt();  //将获取的节点个数存储在n中
        int[] tree = new int[MAX_NODES];  //创建一个大小为MAX_NODES的整数数组tree，用于存储二叉树的节点值
        for (int i=0;i<n;i++){
            System.out.printf("请输入第%d个节点的值: ",i+i);
            tree[i]= sc.nextInt();
        }
        sc.close();  //关闭sc对象以释放相关资源

        return tree;
    }

    public static void main(String[] args) {
        int[] sequentialTree = createBinaryTreeSequential();
        System.out.println("顺序结构的二叉树: ");
        for (int val : sequentialTree){
            if (val!=0){
                System.out.println(val+" ");
            }
        }
    }
}
